import axios from "axios";
const appid = "wxe3f514cc32a85ffd";
const secret = "d6e6de08588528b3a5476cd7c04d1680";
export function authorize() {
  if (!window.localStorage.getItem("openId") && !getCode("code")) {
    // openID是判断是否是新用户 code是判断是否已经授权
    const url = encodeURIComponent(location.href.split("#")[0]); //获取#之前的当前路径
    window.location.href =
      "http://open.weixin.qq.com/connect/oauth2/authorize?appid=" +
      appid +
      "&redirect_uri=" +
      url +
      "&response_type=code&scope=snsapi_base&state=#wechat_redirect";
  }
}

export function getCode(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return decodeURI(r[2]);
  return null;
}

export function getAccessToken(code, callback) {
  axios
    .post(
      `/api/api/mguo/audio/getOpenId?code=${code}`
    )
    .then((data) => {
      if (data.data) {
        localStorage.setItem("openId", data.data.data);
        callback(data.data.data);
      } else {
        localStorage.setItem("openId", '');
      }
    });
}

// 刷新token
export function refresh_token() {
  const refresh_token = localStorage.getItem("refresh_token");
  axios
    .get(
      ` https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=${appid}&grant_type=refresh_token&refresh_token=${refresh_token}`
    )
    .then((data) => {
      sessionStorage.setItem("access_token", data.data.access_token);
    });
}
// 拉取用户信息

export function getUserInfo(access_token, openId) {
  axios
    .get(
      `https://api.weixin.qq.com/sns/userinfo?access_token=${access_token}&openid=${openId}&lang=zh_CN`
    )
    .then((data) => {
      localStorage.setItem("userInfo", data.data);
    });
}

// jssdk的配置
function setConfig() {
  wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
    appId: appid, // 必填，公众号的唯一标识
    timestamp: 141458745, // 必填，生成签名的时间戳
    nonceStr: "", // 必填，生成签名的随机串
    signature: "", // 必填，签名
    jsApiList: ["updateAppMessageShareData"], // 必填，需要使用的JS接口列表
  });
}

function updateAppMessageShareData() {
  wx.ready(function () {
    //需在用户可能点击分享按钮前就先调用
    wx.updateAppMessageShareData({
      title: "分享标题", // 分享标题
      desc: "分享描述", // 分享描述
      link: "", // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
      imgUrl: "", // 分享图标
      success: function () {
        // 设置成功
        alert("分享成功！");
      },
      error: function () {
        alert("分享失败");
      },
    });
  });
}
